Resolution-free representations of illustrations and texts have conventionally used a method of approximating the contour of an object by a Bezier function, spline function, or the like. This method achieves high-speed processing and is popular, but is not good at a complicated gradation representation.
Rendering a resolution-free object containing a complicated gradation generally adopts a gradient mesh tool available from Adobe Illustrator®. A gradient mesh can render a complex object by giving a color and gradient to a mesh to generate a cubic function (patent references 1 and 2).
For a resolution-free representation of an object containing a complicated gradation, several methods are proposed to approximate an image using a mesh.
For example, there are a method of approximating an image using triangular patches (patent reference 3), and a method of subdividing Bezier patches to reduce an approximation error (non-patent reference 1). There is also proposed a method for implementing a resolution-free representation at a smaller number of meshes by solving an optimization problem and creating a gradient mesh (non-patent reference 2).
[Prior Art References]
[Patent References]
[Patent Reference 1] Japanese Patent Laid-Open No. 11-345347
[Patent Reference 2] Japanese Patent Laid-Open No. 10-320585
[Patent Reference 3] Japanese Patent No. 03764765
[Non-Patent References]
[Non-patent Reference 1] Brian Price, William Barrett, “Object-based vectorization for interactive image editing”, In proceedings of Pacific Graphics 2006, 2006, vol. 22, No. 9-11, pp. 661-670.
[Non-patent Reference 2] Jian Sun, Lin Liang, Fang Wen, Heung-Yeung Shum, “Image Vectorization using Optimized Gradient Meshes”, In proceedings of SIGGRAPH 2007, 2007, vol. 26, No. 3.
The method of approximating an image using triangular patches suffers a problem in the boundary representation of an object. When the object boundary is a smooth curve, it is difficult to express the curve by a linear mesh faithfully, and the faithful approximation requires many meshes. A high-order mesh is necessary to approximate a complicated boundary using a smaller number of meshes.
The method of subdividing Bezier patches to reduce an approximation error uses a high-order mesh and can faithfully approximate an object boundary. However, the subdivision of a mesh to reduce an approximation error increases the number of meshes and the data amount at a portion where the object color changes complicatedly.
The method of solving an optimization problem and creating a gradient mesh can provide a resolution-free representation with a smaller number of meshes even at an object boundary and a portion where the object color changes complicatedly. According to this method, however, the user needs to decide representative points in mesh generation and the number of meshes in mesh control in a processing sequence. Hence, this method cannot be employed readily. If representative points and the number of meshes are not set appropriately, a mesh satisfactory for the image quality, data amount, and calculation time cannot be generated.
Representative points can be decided by the method proposed in patent reference 1. However, this method takes a long processing time owing to repetitive mesh editing to approximate an object.
The processing sequence to generate a gradient mesh includes roughly four processes: 1. object input, 2. mesh generation, 3. mesh control, and 4. optimization. Two concrete problems will be described below.
In mesh generation, four representative points need to be decided. The first problem is adverse effect of the positions of the four representative points on the image quality. In general, the image quality is high with a less distorted mesh. To generate a mesh which hardly distorts, representative points are desirably decided at positions containing the object.
In mesh control, the number of meshes selected in accordance with the feature of an object influences the image quality, data amount, and calculation time, which is the second problem. A larger number of meshes generally improve the image quality, but leads to a larger data amount and longer calculation time. Efficient mesh control can be done as follows: a large number of meshes are arranged at a characteristic portion of an object to improve the image quality; and a small number of meshes are arranged at a less characteristic portion to reduce the data amount and calculation time while suppressing degradation of the image quality.